package interfaceP

import (
	"context"

	"gitee.com/liuxuezhan/ar-platform/pay-channel-packet/payClient/dto"
)

type AdapterInterface interface {
	AdapterPay(context.Context, dto.PayRequestDto) (dto.PayResponseDto, error)
	AdapterPayNotify(dto.PayNotifyReqDto) (dto.PayNotifyRespDto, error)
	AdapterWithdraw(context.Context, dto.WithdrawRequestDto) (dto.WithdrawResponseDto, error)
	AdapterWithdrawNotify(dto.WithdrawNotifyReqDto) (dto.WithdrawNotifyRespDto, error)
	WithOption(opt ...Option)
}

type Option func(ad AdapterInterface)
